【JavaScript】break文 - 反復処理・条件分岐処理の強制終了(for/for-of/for-in/while/do-while/switch)

【JavaScript】break文 - 反復処理・条件分岐処理の強制終了(for/for-of/for-in/while/do-while/switch)

JavaScriptのbreak文について解説します。

検証環境

break文

break文は“反復処理や条件分岐処理を強制終了します。”

特定の構文(for文、for-of文、for-in文、while文、do-while文、switch文)で使用可能であり、break文が実行されると一番近いブロック(波括弧{})の処理を終了します。

基本構文

break

構文はシンプルですが、特定の構文以外で使用するとエラーが発生するので注意が必要です。

サンプル

break文が使用可能なfor文、for-of文、for-in文、while文、do-while文、switch文について各サンプルを以下に示します。

for文

for( let i = 0; i < 10; i++ ) {
    console.log(i + "回目");
    if( i == 3 ) {
    		___ih_hl_start
        break;
        ___ih_hl_end
    }
}
0回目
1回目
2回目
3回目

for文は初期化式、条件式、変化式から10回繰り返すように見えますが、変数num3のときにbreakが実行されるため、4回目の繰り返しで終了します。

for-of文

let fruits = [ "Apple", "Orange", "Melon" ];

for( const value of fruits ) {
    console.log(value);
    if( value == "Orange" ) {
        break;
    }
}
Apple
Orange

変数valueの値が"Orange"の処理でbreak文に到達し、繰り返し処理を終了します。

for-in文

let prices = { "Apple": 150, "Orange": 100, "Melon": 2300 };

for( const key in prices ) {
    console.log(key + ": " + prices[key]);
    if( key == "Orange" ) {
        ___ih_hl_start
        break;
        ___ih_hl_end
    }
}
Apple: 150
Orange: 100

変数keyの値が"Orange"の処理でbreak文に到達し、繰り返し処理を終了します。

while文

let num = 0;

while( true ) {
    console.log("Loop.");
    ___ih_hl_start
    break;
    ___ih_hl_end
}
Loop.

while文の条件式はtrueのため、無限ループになりそうですが、breakが必ず実行されるため、繰り返し処理の実行は1回のみです。

do-while文

let num = 0;

do {
    console.log("Loop.");
    ___ih_hl_start
    break;
    ___ih_hl_end
} while( true );
Loop.

do-while文の条件式はtrueのため、無限ループになりそうですが、breakが必ず実行されるため、繰り返し処理の実行は1回のみです。

switch文

let data = 1;

switch( data ) {
    case 0:
        console.log("case0");
    case 1:
        console.log("case1");
    case 2:
        console.log("case2");
    case 3:
        console.log("case3");
        break;
    case 4:
        console.log("case4");
    default:
        console.log("default")
}
case1
case2
case3

2個目のcaseから実行されますが、4個目のcaseの処理でbreakが実行されるため、以降の処理は実行されません。